The construction of software applications is time intensive and resource heavy. Companies often hire software developers to create and maintain software applications for use within their operations. For example, a manager in a medical facility may wish to utilize an application that automates the scheduling of medical procedures in order to save time and money. However, the manager may find that no suitable commercial application exists. In order to procure a suitable application, the manager and the medical facility may be forced to develop their own, custom application by hiring software developers to create the application.
The software development process will likely include, at a minimum, a specification capture phase where software requirements are gathered, a development phase where the software is written, and a test phase where the software is tested. The process is time consuming and costly, especially, as is the case, where a company has a need for multiple custom applications or requires modifications to a custom application. The natural result of the process will likely be a custom software application tailored to a specific need, but not one that is flexible or re-usable; the company will have to invest additional time and resources to make any changes to the custom application or to create a new application.
A system and method that can automate at least part of the software development process may speed the development cycle and require fewer resources to produce more flexible, re-usable results.